<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .style {
            font-style: italic;
        }

        .red {
            background: red;
        }

        .yellow {
            color: yellow;
        }

        .bold {
            font-weight: bold;
        }

        .bd {
            border: 1px solid #000;
        }

        .active {
            box-shadow: 3px 3px 3px 3px pink;
        }
    </style>
</head>

<body>
    <div id="app">
        <!-- 动态类的三种情况 -->

        <!-- 第一种情况：动态类只有一个 -->
        <div class="style" :class="isMove?'active':''">
            三元表达式判断，注意：双引号内部得写成单引号
        </div>
        <div class="style" :class="className">直接强制变成插值区域，直接把data中的值写进去</div>

        <!-- 第二种情况：动态类的个数确定（可以是一个或者多个），我们可以给这个动态类设置一个对象，在这个对象中已经确定的类是key，而值则是data中的布尔值，true表示这个类启用，false表示这个类不启用 -->
        <div class="style" :class="{active:isActive,bold:isMove,bd:isHover}">active和bold启用，而bd不启用</div>

        <!-- 第三种情况：动态类不确定个数的时候，可以使用数组，数组中的类都将被启用，而且不能控制开启或者关闭，但是可以通过操作数组来控制这些类 -->
        <div class="style" :class="classArr">初始状态active，bd，bold都被启用，可以通过F12界面中的Vue插件对数组进行控制
        </div>
    </div>
</body>

</html>
<script src="../vue.js"></script>
<script>
    Vue.config.productionTip = false;
    const vm = new Vue({
        el: "#app",
        data() {
            return {
                isMove: true,
                className: "active",
                isHover: false,
                isActive: true,
                classArr: ["active", "bd", "bold"]
            }
        }
    })
</script>